package com.zds.hj.poseidon.facade.dto.hpp.credit;

import com.zds.boot.common.facade.BaseVo;
import com.zds.hj.icmc.facade.dto.capitallnfo.CapitalInfoDto;
import com.zds.hj.poseidon.facade.dto.hpp.credit.enums.OrderStateEnum;
import com.zds.hj.product.facade.enums.product.*;
import lombok.Getter;
import lombok.Setter;
import org.joda.time.DateTime;
import org.springframework.format.annotation.DateTimeFormat;

import javax.persistence.Column;
import java.util.Date;
import java.util.List;

/**
 * @Author duanhao
 * @Description TODO
 * @Date 2023/5/30 9:48
 */
@Getter
@Setter
public class CreditInfoEntityDto extends BaseVo {

    private String applyNo;

    /**
     * 姓名
     */
    private String name;

    /**
     * 产品id
     */
    private Long productId;

    /**
     * 产品编号
     */
    private String productNo;

    /**
     * 产品类别
     */
    private ProductTypeEnum productType;

    /**
     * 申请人name
     */
    private String applyCreatorName;

    /**
     * 申请人Id
     */
    private Long applyCreatorId;

    /**
     * 产品名称
     */
    private String productName;

    /**
     * 渠道编码
     */
    private String channelNo;

    /**
     * 商户号
     */
    private String merchantNo;


    /**
     * 融资申请日期
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date applyDate;


    private String step;

    /**
     * 申请阶段
     */
    private String stage;

    /**
     * 图片编号
     */
    private String imgId;

    /**
     * 身份证号
     */
    private String cardId;

    /**
     * 地址
     */
    private String address;

    /**
     * 电话
     */
    private String phone;

    /**
     * 银行卡号
     */
    private String cardNo;

    /**
     * 协议文件
     */
    private String protocolFile;

    /**
     * 营业执照号
     */
    private String entCreditCode;

    /**
     * 短信验证码
     */
    private String code;

    /**
     * 人脸识别回显URL
     */
    private String faceUrl;

    /**
     * 人脸识别结果
     */
    private String isTrue;
    /**
     * 贷款期限
     */
    private ProductUseTimeEnum loanTerm;

    /**
     * 申请金额
     */
    private Integer applicationsAmount;

    /**
     * 还款方式
     */
    private RepaymentEnum repaymentMethod;

    /**
     * 还款周期
     */
    private ProductLoanLimitTimeEnum repaymentCycle;

    /**
     * 贷款用途
     */
    private LoanPurposeEnum loanPurpose;

    /**
     * 定期还款单位
     */
    private String repaymentPeriodUnit;

    /**企业名称*/
    private String entName;

    /**
     * 批次号
     */
    private String batchNo;

    /**企业法人Id*/
    private Long entLegalId;

    /**
     * 授权回调URL
     */
    private String taxUrl;

    /**
     * 税务授权日期
     */
    private Date authorizationDate;

    /**
     * 流水号
     */
    private String serialNo;

    /**
     * 业务订单号
     */
    private String orderNo;
    //TODO:介绍页、获取资金方模块字段
    /**
     * 资金方名称
     */
    private List<CapitalInfoDto> capitalInfoDtoList;
    /**
     * 订单状态
     */
    private String status;
    /**
     * 资金方编号
     */
    private String capitalSideNo;
    /**
     * 资金方名称
     */
    private String capitalName;

    /**
     *  身份证姓名
     */
    private String cardName;

    /**
     * 身份证正面图片编号
     */
//    private String idenFront;
    /**
     * 身份证反面图片编号
     */
//    private String idenReserve;

    /**
     * 企业统一社会信用代码
     */
    private String companySocialCredit;

    /**
     * 企业客户id
     */
//    private Long entId;

    /**
     * 企业地址
     */
    private String companyAddress;


    /**
     * 上传文件id
     */
    private String fileId;

    /**
     * 订单状态
     */
    private OrderStateEnum orderStateEnum;


//    /**
//     * 订单号
//     */
//    private String OrderNO;

    /**
     * 全局状态代码
     */
    private Integer GlobalStatusCode;

    /**
     * 授信通过时间
     */
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date CreditPassDate;


    /**
     * 申请流水号
     */
    private String channelApplyNo;



    /**
     * 证件人像面附件
     */
    private String cardFrontObsId;

    /**
     * 证件国徽面附件
     */
    private String cardBackObsId;

    /**
     * 营业执照附件
     */
    private String businessLicenseObsId;
    /**
     * 企业机构id
     */
    private Long enterpriseOrgId;

    /**
     * 企业客户Id
     */
    private Long enterpriseId;

}
